package com.carter.springframework.context;

import com.carter.springframework.beans.exception.BeanException;
import com.carter.springframework.beans.factory.ConfigurableListableBeanFactory;

public interface ConfigurableApplicationContext extends ApplicationContext{

    /**
     * 刷新容器
     * @throws BeanException
     */
    void refresh() throws BeanException;

    /**
     * 注册关闭的虚拟机的钩子
     */
    void registerShutdownHook();

    /**
     * 手动执行关闭
     */
    void close();

    public ConfigurableListableBeanFactory getBeanFactory();
}
